package com.example.tbs;

import android.text.TextUtils;

import com.blankj.utilcode.util.EncryptUtils;
import com.blankj.utilcode.util.LogUtils;

import java.io.File;

/**
 * 多媒体文件的帮助类
 * 根据url确定文件名
 */
public class FileDisplayUtils {
    private static final String path = AppConstants.path;

    /***
     * 根据链接获取文件名（带类型的），具有唯一性
     * 928a61644c3f420079818aee016a21a6.docx
     * @param url
     * @return
     */
    public static String getFileName(String url) {
        String fileName = EncryptUtils.encryptMD5ToString(url) + "." + getFileType(url);
        return fileName;
    }

    /***
     * 获取文件类型
     *
     * @param paramString
     * @return
     */
    public static String getFileType(String paramString) {
        String str = "";
        if (TextUtils.isEmpty(paramString)) {
            return str;
        }
        int i = paramString.lastIndexOf('.');
        if (i <= -1) {
            LogUtils.d("i <= -1");
            return str;
        }
        str = paramString.substring(i + 1);
        return str;
    }

    /***
     * 获取缓存目录
     *
     * @param url
     * @return
     */
    public static File getCacheDir(String url) {
        return new File(path);
    }

    /***
     * 绝对路径获取缓存文件
     * /storage/emulated/0/007/928a61644c3f420079818aee016a21a6.docx
     * @param url
     * @return
     */
    public static File getCacheFile(String url) {
        File cacheFile = new File(path + getFileName(url));
        LogUtils.d("缓存文件 = " + cacheFile.toString());
        return cacheFile;
    }

    //文件是否存在
    public static boolean isLocalExist(String url) {
        return getLocalFile(url).exists();
    }

    //文件路径
    private static File getLocalFile(String url) {
        return new File(path, getFileName(url));
    }
}
